package gradle.common.core.exception;

public class BaseException extends RuntimeException {

    private int status = 200;

    /**
     * 无参构造方案
     */
    public BaseException() {

    }

    /**
     * 构造方法
     *
     * @param status  响应状态编码
     * @param message 异常信息
     */
    public BaseException(int status, String message) {
        super(message);
        this.status = status;
    }

    /**
     * 构造方法
     *
     * @param message 异常信息
     */
    public BaseException(String message) {
        super(message);
    }

    /**
     * 构造方法
     *
     * @param message 异常信息
     * @param cause   Throwable
     */
    public BaseException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * 构造方法
     *
     * @param cause Throwable
     */
    public BaseException(Throwable cause) {
        super(cause);
    }

    /**
     * 构造方法
     *
     * @param message            异常信息
     * @param cause              Throwable
     * @param enableSuppression  enableSuppression
     * @param writableStackTrace 错误堆栈
     */
    public BaseException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }

    public void setStatus(int status) {
        this.status = status;
    }
}
